Fix test-help patch to allow for build-time testing
authorSimon McVittie <smcv@debian.org>
Fri, 15 Sep 2017 15:07:06 +0000 (16:07 +0100)
committerSimon McVittie <smcv@debian.org>
Fri, 15 Sep 2017 15:07:06 +0000 (16:07 +0100)
Signed-off-by: Simon McVittie <smcv@debian.org>
debian/patches/Fix-test-help.sh-for-the-case-where-ostree-trivial-httpd-.patch [deleted file]
debian/patches/series
debian/patches/test-help.sh-Skip-trivial-httpd-if-enabled.patch [new file with mode: 0644]

diff --git a/debian/patches/Fix-test-help.sh-for-the-case-where-ostree-trivial-httpd-.patch b/debian/patches/Fix-test-help.sh-for-the-case-where-ostree-trivial-httpd-.patch
deleted file mode 100644 (file)
index 1299772..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-From: Simon McVittie <smcv@collabora.com>
-Date: Fri, 15 Sep 2017 15:15:43 +0100
-Subject: Fix test-help.sh for the case where ostree trivial-httpd is enabled
-MIME-Version: 1.0
-Content-Type: text/plain; charset="utf-8"
-Content-Transfer-Encoding: 8bit
-
-It's deprecated, but as long as it's still supported at all, it
-shouldn't make the tests fail.
-
-$ ostree trivial-httpd --help
-Usage:
-  /usr/lib/libostree/ostree-trivial-httpd [OPTION…] [DIR] - Simple webserver
-
-Signed-off-by: Simon McVittie <smcv@collabora.com>
----
- tests/test-help.sh | 15 ++++++++++-----
- 1 file changed, 10 insertions(+), 5 deletions(-)
-
-diff --git a/tests/test-help.sh b/tests/test-help.sh
-index 75fe0c1..2fda2c3 100755
---- a/tests/test-help.sh
-+++ b/tests/test-help.sh
-@@ -25,13 +25,13 @@ echo "1..1"
- test_usage_output() {
-     file=$1; shift
--    cmd=$1; shift
-+    regex=$1; shift
-     assert_file_has_content $file '^Usage'
-     # check that it didn't print twice somehow
-     if [ "$(grep --count '^Usage' $file)" != 1 ]; then
-       _fatal_print_file "$file" "File '$file' has '^Usage' more than once."
-     fi
--    assert_file_has_content $file "$cmd"
-+    assert_file_has_content $file "$regex"
- }
- # check that we found at least one command with subcommands
-@@ -42,8 +42,13 @@ test_recursive() {
-     echo "$cmd" 1>&2
-     $cmd --help 1>out 2>err
-+
-+    # Usage for "ostree foo" can contain either "ostree foo" or "ostree-foo"
-+    # (the latter for ostree trivial-httpd)
-+    regex="${cmd/ostree /ostree[- ]}"
-+
-     # --help message goes to standard output
--    test_usage_output out "$cmd"
-+    test_usage_output out "$regex"
-     assert_file_empty err
-     builtins=`sed -n '/^Builtin \("[^"]*" \)\?Commands:$/,/^$/p' <out | tail -n +2`
-@@ -60,7 +65,7 @@ test_recursive() {
-         fi
-         # error message and usage goes to standard error
--        test_usage_output err "$cmd"
-+        test_usage_output err "$regex"
-         assert_file_has_content err 'No \("[^"]*" sub\)\?command specified'
-         assert_file_empty out
-@@ -70,7 +75,7 @@ test_recursive() {
-             assert_not_reached "non-existent subcommand but 0 exit status"
-         fi
--        test_usage_output err "$cmd"
-+        test_usage_output err "$regex"
-         assert_file_has_content err 'Unknown \("[^"]*" sub\)\?command'
-         assert_file_empty out
index 9c0cba77e26dafa8f08e39c67ec06e3c6744b6eb..a9f2a3fb9de9051acc789996bbce1f5f39a7601d 100644 (file)
@@ -1,2 +1,2 @@
-Fix-test-help.sh-for-the-case-where-ostree-trivial-httpd-.patch
 Fix-JavaScript-tests-with-gjs-1.50.0.patch
+test-help.sh-Skip-trivial-httpd-if-enabled.patch
diff --git a/debian/patches/test-help.sh-Skip-trivial-httpd-if-enabled.patch b/debian/patches/test-help.sh-Skip-trivial-httpd-if-enabled.patch
new file mode 100644 (file)
index 0000000..e9809ca
--- /dev/null
@@ -0,0 +1,36 @@
+From: Simon McVittie <smcv@collabora.com>
+Date: Fri, 15 Sep 2017 16:05:48 +0100
+Subject: test-help.sh: Skip trivial-httpd if enabled
+
+Because it runs a binary in ${libexecdir}, it will only work if
+libostree was already installed, which makes the build-time test fail.
+It also doesn't produce the output we expect: its usage mechanism
+mentions "ostree-trivial-httpd", not "ostree trivial-httpd".
+
+Signed-off-by: Simon McVittie <smcv@collabora.com>
+---
+ tests/test-help.sh | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/tests/test-help.sh b/tests/test-help.sh
+index 75fe0c1..ad74aaf 100755
+--- a/tests/test-help.sh
++++ b/tests/test-help.sh
+@@ -75,7 +75,16 @@ test_recursive() {
+         assert_file_empty out
+         for subcmd in $builtins; do
+-            test_recursive "$cmd $subcmd"
++            case "$subcmd" in
++                (trivial-httpd)
++                    # Skip trivial-httpd if enabled, it doesn't work
++                    # uninstalled (and also doesn't produce the output
++                    # we expect).
++                    ;;
++                (*)
++                    test_recursive "$cmd $subcmd"
++                    ;;
++            esac
+         done
+     fi
+ }